home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / AIncludes / PCCardEnablerPlugin.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  16.8 KB  |  514 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        PCCardEnablerPlugin.a
  3. ;
  4. ;    Contains:    ???
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1997-1998 by Apple Computer, Inc. and SystemSoft Corporation.  All rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__PCCARDENABLERPLUGIN__') = 'UNDEFINED' THEN
  18. __PCCARDENABLERPLUGIN__ SET 1
  19.  
  20.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  21.     include 'MacTypes.a'
  22.     ENDIF
  23.     IF &TYPE('__NAMEREGISTRY__') = 'UNDEFINED' THEN
  24.     include 'NameRegistry.a'
  25.     ENDIF
  26.     IF &TYPE('__INTERRUPTS__') = 'UNDEFINED' THEN
  27.     include 'Interrupts.a'
  28.     ENDIF
  29.     IF &TYPE('__PCCARD__') = 'UNDEFINED' THEN
  30.     include 'PCCard.a'
  31.     ENDIF
  32.  
  33.     IF &TYPE('__CARDSERVICES__') = 'UNDEFINED' THEN
  34. ;    NOTE: These prototypes conflict with CardServices.≈
  35. ;          You cannot use both PCCardEnablerPlugin.h and CardServices.h
  36. ;          
  37. ;
  38.  
  39.  
  40. ;     Copyright:    © 1996 SystemSoft Corporation, all rights reserved. 
  41. ; ------------------------------------------------------------------------------------
  42. ;    Card Services calls exported by the Family
  43. ;------------------------------------------------------------------------------------
  44.  
  45. ;     Card Services for Card Enablers
  46.  
  47. ;
  48. ; extern OSStatus CSGetCardServicesInfo(UInt32 *socketCount, UInt32 *complianceLevel, UInt32 *version)
  49. ;
  50.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  51.         IMPORT_CFM_FUNCTION CSGetCardServicesInfo
  52.     ENDIF
  53.  
  54.  
  55. ;  Function prototypes for tuples calls 
  56.  
  57. ;
  58. ; extern OSStatus CSGetFirstTuple(PCCardSocket socket, UInt32 device, PCCardTupleIterator tupleIterator, Byte desiredTuple, void *tupleData, ByteCount *tupleBufferSize, Byte *foundTuple)
  59. ;
  60.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  61.         IMPORT_CFM_FUNCTION CSGetFirstTuple
  62.     ENDIF
  63.  
  64. ;
  65. ; extern OSStatus CSGetNextTuple(PCCardTupleIterator tupleIterator, Byte desiredTuple, void *tupleData, ByteCount *tupleBufferSize, Byte *foundTuple)
  66. ;
  67.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  68.         IMPORT_CFM_FUNCTION CSGetNextTuple
  69.     ENDIF
  70.  
  71.  
  72. ;  Function prototypes for window calls
  73.  
  74. ;
  75. ; extern OSStatus CSRequestWindow(PCCardSocket vSocket, UInt32 device, PCCardWindowAttributes windowAttributes, PCCardAccessSpeed windowSpeed, LogicalAddress *windowBase, PCCardWindowSize *windowSize, PCCardWindowOffset *windowOffset, PCCardWindowID *requestedWindow)
  76. ;
  77.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  78.         IMPORT_CFM_FUNCTION CSRequestWindow
  79.     ENDIF
  80.  
  81. ;
  82. ; extern OSStatus CSReleaseWindow(PCCardWindowID windowToRelease)
  83. ;
  84.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  85.         IMPORT_CFM_FUNCTION CSReleaseWindow
  86.     ENDIF
  87.  
  88. ;
  89. ; extern OSStatus CSModifyWindow(PCCardWindowID windowToModify, PCCardWindowType windowAttributes, PCCardAccessSpeed memorySpeed, PCCardWindowOffset *windowOffset)
  90. ;
  91.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  92.         IMPORT_CFM_FUNCTION CSModifyWindow
  93.     ENDIF
  94.  
  95. ;
  96. ; extern OSStatus CSGetWindowBaseAddress(PCCardWindowID window, LogicalAddress *baseAddress)
  97. ;
  98.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  99.         IMPORT_CFM_FUNCTION CSGetWindowBaseAddress
  100.     ENDIF
  101.  
  102. ;
  103. ; extern OSStatus CSInquireWindow(PCCardSocket vSocket, UInt32 device, PCCardWindowID windowID, PCCardWindowAttributes *windowAttributes, PCCardAccessSpeed *windowParam, UInt32 *windowBase, PCCardWindowSize *windowSize, PCCardWindowOffset *windowOffset)
  104. ;
  105.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  106.         IMPORT_CFM_FUNCTION CSInquireWindow
  107.     ENDIF
  108.  
  109. ;  Function prototypes for CIS calls
  110.  
  111. ;
  112. ; extern OSStatus CSValidateCIS(PCCardSocket vSocket, UInt32 device, UInt32 *cisChainCount)
  113. ;
  114.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  115.         IMPORT_CFM_FUNCTION CSValidateCIS
  116.     ENDIF
  117.  
  118. ;
  119. ; extern OSStatus CSGetDeviceCount(PCCardSocket vSocket, UInt32 *deviceCount)
  120. ;
  121.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  122.         IMPORT_CFM_FUNCTION CSGetDeviceCount
  123.     ENDIF
  124.  
  125.  
  126. ;  Function prototypes for Status calls
  127.  
  128. ;
  129. ; extern OSStatus CSGetStatus(PCCardSocket vSocket, UInt32 *currentState, UInt32 *changedState, PCCardVoltage *Vcc, PCCardVoltage *Vpp)
  130. ;
  131.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  132.         IMPORT_CFM_FUNCTION CSGetStatus
  133.     ENDIF
  134.  
  135.  
  136. ;  Function prototypes for configuration calls
  137.  
  138. ;
  139. ; extern OSStatus CSRequestConfiguration(PCCardSocket vSocket, UInt32 device, PCCardConfigOptions configOptions, PCCardInterfaceType socketInterface, PCCardCustomInterfaceID customInterface, PCCardVoltage vcc, PCCardVoltage vpp, PCCardIRQ IRQ, PCCardDMA DMA, UInt32 configRegBaseAddress, PCCardConfigPresentMask configRegPresentMask, PCCardFunctionConfigReg *configReg)
  140. ;
  141.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  142.         IMPORT_CFM_FUNCTION CSRequestConfiguration
  143.     ENDIF
  144.  
  145. ;
  146. ; extern OSStatus CSModifyConfiguration(PCCardSocket vSocket, UInt32 device, PCCardConfigOptions modifyAttributes, PCCardIRQ IRQ, PCCardDMA DMA, PCCardVoltage Vpp)
  147. ;
  148.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  149.         IMPORT_CFM_FUNCTION CSModifyConfiguration
  150.     ENDIF
  151.  
  152. ;
  153. ; extern OSStatus CSReleaseConfiguration(PCCardSocket vSocket, UInt32 device)
  154. ;
  155.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  156.         IMPORT_CFM_FUNCTION CSReleaseConfiguration
  157.     ENDIF
  158.  
  159. ;
  160. ; extern OSStatus CSSetRingIndicate(PCCardSocket vSocket, Boolean setRingIndicate)
  161. ;
  162.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  163.         IMPORT_CFM_FUNCTION CSSetRingIndicate
  164.     ENDIF
  165.  
  166. ;
  167. ; extern OSStatus CSResetFunction(PCCardSocket vSocket, UInt32 device)
  168. ;
  169.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  170.         IMPORT_CFM_FUNCTION CSResetFunction
  171.     ENDIF
  172.  
  173. ;
  174. ; extern OSStatus CSReadConfigurationRegister(PCCardSocket vSocket, UInt32 device, PCCardConfigPresentMask whichRegister, UInt32 configRegBaseAddress, UInt8 *registerValue)
  175. ;
  176.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  177.         IMPORT_CFM_FUNCTION CSReadConfigurationRegister
  178.     ENDIF
  179.  
  180. ;
  181. ; extern OSStatus CSWriteConfigurationRegister(PCCardSocket vSocket, UInt32 device, PCCardConfigPresentMask whichRegister, UInt32 configRegBaseAddress, UInt8 registerValue)
  182. ;
  183.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  184.         IMPORT_CFM_FUNCTION CSWriteConfigurationRegister
  185.     ENDIF
  186.  
  187. ;  Function prototypes for Client Support calls
  188. ;
  189. ; extern OSStatus CSRegisterClient(PCCardSocket vSocket, PCCardEventMask eventMask, PCCardEventHandler clientCallBack, void *clientParam, PCCardClientID *newClientID)
  190. ;
  191.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  192.         IMPORT_CFM_FUNCTION CSRegisterClient
  193.     ENDIF
  194.  
  195. ;
  196. ; extern OSStatus CSDeRegisterClient(PCCardClientID theClientID)
  197. ;
  198.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  199.         IMPORT_CFM_FUNCTION CSDeRegisterClient
  200.     ENDIF
  201.  
  202. ;
  203. ; extern OSStatus CSSetEventMask(PCCardClientID theClientID, PCCardEventMask newEventMask)
  204. ;
  205.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  206.         IMPORT_CFM_FUNCTION CSSetEventMask
  207.     ENDIF
  208.  
  209. ;
  210. ; extern OSStatus CSGetEventMask(PCCardClientID theClientID, PCCardEventMask *newEventMask)
  211. ;
  212.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  213.         IMPORT_CFM_FUNCTION CSGetEventMask
  214.     ENDIF
  215.  
  216. ;
  217. ; extern OSStatus CSRegisterTimer(PCCardClientID registeredClientID, PCCardTimerID *lpNewTimerID, long delay)
  218. ;
  219.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  220.         IMPORT_CFM_FUNCTION CSRegisterTimer
  221.     ENDIF
  222.  
  223. ;
  224. ; extern OSStatus CSDeRegisterTimer(PCCardTimerID timerID)
  225. ;
  226.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  227.         IMPORT_CFM_FUNCTION CSDeRegisterTimer
  228.     ENDIF
  229.  
  230. ;  Function prototypes for CardBus Config Space access
  231. ;
  232. ; extern OSStatus CSReadCardBusConfigSpace(PCCardSocket vSocket, UInt32 device, UInt32 configOffset, Byte *data, UInt32 dataSize)
  233. ;
  234.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  235.         IMPORT_CFM_FUNCTION CSReadCardBusConfigSpace
  236.     ENDIF
  237.  
  238. ;
  239. ; extern OSStatus CSWriteCardBusConfigSpace(PCCardSocket vSocket, UInt32 device, UInt32 configOffset, Byte *data, UInt32 dataSize)
  240. ;
  241.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  242.         IMPORT_CFM_FUNCTION CSWriteCardBusConfigSpace
  243.     ENDIF
  244.  
  245. ; ------------------------------------------------------------------------------------
  246. ;    Card Enabler Types
  247. ;------------------------------------------------------------------------------------
  248.  
  249.  
  250. kUnknownDeviceType                EQU        'unkn'                ; class-code = 0x00 
  251. kSCSIDeviceType                    EQU        'scsi'                ; class-code = 0x01, sub-class = 0x00 
  252. kBlockDeviceType                EQU        'blok'                ; class-code = 0x01, sub-class = 0xXX 
  253. kNetworkDeviceType                EQU        'netw'                ; class-code = 0x02 
  254. kDisplayDeviceType                EQU        'dspl'                ; class-code = 0x03 
  255. kMultimediaDeviceType            EQU        'mmdv'                ; class-code = 0x04 
  256. kMemoryDeviceType                EQU        'mem '                ; class-code = 0x05 
  257. kBridgeDeviceType                EQU        'brdg'                ; class-code = 0x06 
  258. kCommDeviceType                    EQU        'comm'                ; class-code = 0x07 
  259. kPeripheralDeviceType            EQU        'sysp'                ; class-code = 0x08 
  260. kInputDeviceType                EQU        'inpt'                ; class-code = 0x09 
  261. kDockingDeviceType                EQU        'dock'                ; class-code = 0x0A 
  262. kProcessorDeviceType            EQU        'proc'                ; class-code = 0x0B 
  263. kFirewireBusDeviceType            EQU        'firw'                ; class-code = 0x0C, sub-class = 0x00 
  264. kACCESSBusDeviceType            EQU        'accs'                ; class-code = 0x0C, sub-class = 0x01 
  265. kSSABusDeviceType                EQU        'ssa '                ; class-code = 0x0C, sub-class = 0x02 
  266. kUSBBusDeviceType                EQU        'usb '                ; class-code = 0x0C, sub-class = 0x03 
  267. kFibreBusDeviceType                EQU        'fibr'                ; class-code = 0x0C, sub-class = 0x04 
  268. kByteDeviceType                    EQU        'byte'                ; class-code = 0x?? 
  269. kSerialDeviceType                EQU        'ser '                ; class-code = 0x?? 
  270. kParallelDeviceType                EQU        'parl'                ; class-code = 0x?? 
  271. kAIMSDeviceType                    EQU        'aims'                ; class-code = 0x?? 
  272. ; typedef OSType                         PCDeviceType
  273.  
  274.  
  275. kAttributeType                    EQU        0
  276. kMemoryType                        EQU        1
  277. kIOType                            EQU        2
  278. ; typedef UInt32                         PCCardMemoryType
  279.  
  280.  
  281. kUnknown                        EQU        'unkn'
  282. kPCCard16                        EQU        'pc16'
  283. kCardBus                        EQU        'cdbs'
  284. ; typedef OSType                         PCCardArchitectureType
  285.  
  286.  
  287. ; ------------------------------------------------------------------------------------
  288. ;  Plugin Dispatch Table
  289. ;------------------------------------------------------------------------------------
  290.  
  291.  
  292. kServiceTypePCCardEnabler        EQU        'card'
  293. kPCCardEnablerPluginVersion        EQU        $00000001
  294. kPCCardEnablerPluginCurrentVersion EQU    $00000001
  295. ;     Card Enabler Entrypoints
  296. PCCardEnablerPluginHeader RECORD 0
  297. pluginDispatchTableVersion  ds.l 1                ; offset: $0 (0)
  298. reserved1                 ds.l    1                ; offset: $4 (4)
  299. reserved2                 ds.l    1                ; offset: $8 (8)
  300. reserved3                 ds.l    1                ; offset: $C (12)
  301. sizeof                     EQU *                    ; size:   $10 (16)
  302.                         ENDR
  303. PCCardEnablerPluginDispatchTable RECORD 0
  304. header                     ds        PCCardEnablerPluginHeader ; offset: $0 (0)
  305. ;  General functions
  306. validateHardwareProc     ds.l    1                ; offset: $10 (16)
  307. initializeProc             ds.l    1                ; offset: $14 (20)
  308. cleanUpProc                 ds.l    1                ; offset: $18 (24)
  309. setPCCardPowerLevel         ds.l    1                ; offset: $1C (28)
  310. ;  Card functions
  311. handleEventProc             ds.l    1                ; offset: $20 (32)
  312. getCardInfoProc             ds.l    1                ; offset: $24 (36)
  313. addCardProperties         ds.l    1                ; offset: $28 (40)
  314. getDeviceCount             ds.l    1                ; offset: $2C (44)
  315. ;  Device functions
  316. getDeviceName             ds.l    1                ; offset: $30 (48)
  317. getDeviceCompatibleNames  ds.l    1                ; offset: $34 (52)
  318. getDeviceType             ds.l    1                ; offset: $38 (56)
  319. getDeviceTypeName         ds.l    1                ; offset: $3C (60)
  320. addDeviceProperties         ds.l    1                ; offset: $40 (64)
  321. configureDevice             ds.l    1                ; offset: $44 (68)
  322. finalizeDevice             ds.l    1                ; offset: $48 (72)
  323. ;  Card Services Overrides...
  324. validateCIS                 ds.l    1                ; offset: $4C (76)
  325. getFirstTuple             ds.l    1                ; offset: $50 (80)
  326. getNextTuple             ds.l    1                ; offset: $54 (84)
  327. ;  InterruptHandlers...
  328. cardInterruptHandlerFunction  ds.l 1            ; offset: $58 (88)
  329. cardInterruptEnableFunction  ds.l 1                ; offset: $5C (92)
  330. cardInterruptDisableFunction  ds.l 1            ; offset: $60 (96)
  331. sizeof                     EQU *                    ; size:   $64 (100)
  332.                         ENDR
  333. ; typedef struct PCCardEnablerPluginDispatchTable * PCCardEnablerPluginDispatchTablePtr
  334.  
  335. ; ------------------------------------------------------------------------------------
  336. ;    PC Card Enabler Utility calls exported by the Family
  337. ;------------------------------------------------------------------------------------
  338.  
  339. ;     Generic Enabler Entrypoints
  340. ;
  341. ; extern OSStatus CEInitializeCard(const RegEntryID *cardRef, Boolean replacingOld)
  342. ;
  343.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  344.         IMPORT_CFM_FUNCTION CEInitializeCard
  345.     ENDIF
  346.  
  347. ;
  348. ; extern OSStatus CEFinalizeCard(const RegEntryID *cardRef, Boolean beingReplaced)
  349. ;
  350.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  351.         IMPORT_CFM_FUNCTION CEFinalizeCard
  352.     ENDIF
  353.  
  354. ;
  355. ; extern OSStatus CEPowerManagement(const RegEntryID *lpParentID, PCCardPowerOptions powerLevel)
  356. ;
  357.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  358.         IMPORT_CFM_FUNCTION CEPowerManagement
  359.     ENDIF
  360.  
  361. ;
  362. ; extern OSStatus CEHandleCardEvent(const RegEntryID *cardRef, PCCardEvent lTheCardEvent)
  363. ;
  364.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  365.         IMPORT_CFM_FUNCTION CEHandleCardEvent
  366.     ENDIF
  367.  
  368. ;
  369. ; extern OSStatus CEGetCardInfo(const RegEntryID *cardRef, PCCardDevType *cardType, PCCardSubType *cardSubType, StringPtr cardName, StringPtr vendorName)
  370. ;
  371.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  372.         IMPORT_CFM_FUNCTION CEGetCardInfo
  373.     ENDIF
  374.  
  375. ;
  376. ; extern OSStatus CEAddCardProperties(const RegEntryID *cardRef)
  377. ;
  378.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  379.         IMPORT_CFM_FUNCTION CEAddCardProperties
  380.     ENDIF
  381.  
  382. ;
  383. ; extern OSStatus CEGetDeviceCount(const RegEntryID *cardRef, ItemCount *numberOfDevices)
  384. ;
  385.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  386.         IMPORT_CFM_FUNCTION CEGetDeviceCount
  387.     ENDIF
  388.  
  389. ;  device functions
  390. ;
  391. ; extern OSStatus CEGetDeviceName(UInt32 socketNumber, UInt32 deviceNumber, char *deviceName)
  392. ;
  393.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  394.         IMPORT_CFM_FUNCTION CEGetDeviceName
  395.     ENDIF
  396.  
  397. ;
  398. ; extern OSStatus CEGetDeviceCompatibleNames(const RegEntryID *deviceRef, UInt32 socketNumber, UInt32 deviceNumber, char *name)
  399. ;
  400.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  401.         IMPORT_CFM_FUNCTION CEGetDeviceCompatibleNames
  402.     ENDIF
  403.  
  404. ;
  405. ; extern OSStatus CEGetDeviceType(const RegEntryID *deviceRef, UInt32 socketNumber, UInt32 deviceNumber, PCDeviceType *lpDeviceType)
  406. ;
  407.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  408.         IMPORT_CFM_FUNCTION CEGetDeviceType
  409.     ENDIF
  410.  
  411. ;
  412. ; extern OSStatus CEGetDeviceTypeName(const RegEntryID *deviceRef, UInt32 socketNumber, UInt32 deviceNumber, char *name)
  413. ;
  414.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  415.         IMPORT_CFM_FUNCTION CEGetDeviceTypeName
  416.     ENDIF
  417.  
  418. ;
  419. ; extern OSStatus CEAddDeviceProperties(const RegEntryID *deviceRef, UInt32 deviceNumber)
  420. ;
  421.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  422.         IMPORT_CFM_FUNCTION CEAddDeviceProperties
  423.     ENDIF
  424.  
  425. ;
  426. ; extern OSStatus CEConfigureDevice(const RegEntryID *deviceRef, UInt32 deviceNumber)
  427. ;
  428.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  429.         IMPORT_CFM_FUNCTION CEConfigureDevice
  430.     ENDIF
  431.  
  432. ;
  433. ; extern OSStatus CEFinalizeDevice(UInt32 socket, UInt32 device, const RegEntryID *deviceRef)
  434. ;
  435.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  436.         IMPORT_CFM_FUNCTION CEFinalizeDevice
  437.     ENDIF
  438.  
  439.  
  440. ;     RegEntryID <-> socket number mapping functions
  441. ;
  442. ; extern OSStatus CEGetSocketAndDeviceFromRegEntry(const RegEntryID *lpNode, UInt32 *lpSocket, UInt32 *lpDevice)
  443. ;
  444.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  445.         IMPORT_CFM_FUNCTION CEGetSocketAndDeviceFromRegEntry
  446.     ENDIF
  447.  
  448. ;
  449. ; extern OSStatus CEGetPhysicalSocketNumber(const RegEntryID *socketRef, const RegEntryID *lpDeviceEntry, UInt32 *lpPhysicalSocketNumber)
  450. ;
  451.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  452.         IMPORT_CFM_FUNCTION CEGetPhysicalSocketNumber
  453.     ENDIF
  454.  
  455. ;     Hardware Validation Utilities
  456. ;
  457. ; extern OSStatus CECompareCISTPL_VERS_1(const RegEntryID *cardRef, Byte majorVersion, Byte minorVersion, const char *manufacturer, const char *productName, const char *info1, const char *info2, Boolean *identical)
  458. ;
  459.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  460.         IMPORT_CFM_FUNCTION CECompareCISTPL_VERS_1
  461.     ENDIF
  462.  
  463. ;
  464. ; extern OSStatus CECompareCISTPL_MANFID(const RegEntryID *cardRef, UInt16 manufacturerCode, UInt16 manufacturerInfo, Boolean *identical)
  465. ;
  466.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  467.         IMPORT_CFM_FUNCTION CECompareCISTPL_MANFID
  468.     ENDIF
  469.  
  470. ;
  471. ; extern OSStatus CECompareMemory(const RegEntryID *cardRef, PCCardMemoryType memType, ByteCount offset, ByteCount length, Byte *dataToCompare, Boolean *identical)
  472. ;
  473.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  474.         IMPORT_CFM_FUNCTION CECompareMemory
  475.     ENDIF
  476.  
  477. ;
  478. ; extern OSStatus CEValidateCIS(UInt32 socket, UInt32 device, UInt32 *lpCISChainCount)
  479. ;
  480.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  481.         IMPORT_CFM_FUNCTION CEValidateCIS
  482.     ENDIF
  483.  
  484. ;
  485. ; extern InterruptMemberNumber CEDefaultInterruptHandler(InterruptSetMember ISTmember, void *refCon, UInt32 theIntCount)
  486. ;
  487.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  488.         IMPORT_CFM_FUNCTION CEDefaultInterruptHandler
  489.     ENDIF
  490.  
  491.  
  492. ; ------------------------------------------------------------------------------------
  493. ;    PC Card Customization Resources
  494. ;------------------------------------------------------------------------------------
  495.  
  496.  
  497. kPCCardCustomInfoResType        EQU        'pccd'
  498. kPCCardCustomInfoVersion        EQU        0
  499. PCCardCustomResource    RECORD 0
  500. version                     ds.l    1                ; offset: $0 (0)
  501. customIconID             ds.w    1                ; offset: $4 (4)        ;     ICN#, etc. resource ID
  502. customStringsID             ds.w    1                ; offset: $6 (6)        ;     STR# resource ID
  503. customTypeStringIndex     ds.w    1                ; offset: $8 (8)
  504. customHelpStringIndex     ds.w    1                ; offset: $A (10)
  505. customAction             ds.l    1                ; offset: $C (12)
  506. customActionParam1         ds.l    1                ; offset: $10 (16)
  507. customActionParam2         ds.l    1                ; offset: $14 (20)
  508. sizeof                     EQU *                    ; size:   $18 (24)
  509.                         ENDR
  510.     ENDIF
  511.     ENDIF ; __PCCARDENABLERPLUGIN__ 
  512.  
  513.